A computer-aided design (“CAD”) system is a computer implemented tool for engineers and architects to utilize in designing a plethora of structures from products to buildings. The computer portion of the CAD system includes a central processing unit, a display device, such as a computer monitor, and a number of input devices such as, a keyboard, a mouse, a light pen, a digitialising tablet, and the like. The central processing unit has one or more CAD software applications installed thereon.
The CAD software applications allow a user to input and view a design for a particular structure in the form of an object. The user can often rotate the view of the object to any angle, and also zoom in or zoom out for different views and perspectives. Additional visual features such as highlighting, shading, cross-hatching, and the like, enable the user to design an object with the aid of the computing power inherent in the central processing unit. The CAD application can also keep track of, and monitor, design changes to the object in addition to design dependencies. This means that when the user adds or changes an element within the object, other values that depend on that change are automatically updated in accordance with engineering concepts and rules of design.
CAD systems have been in existence for a number of decades. As a result, different CAD systems have been developed utilizing different computer hardware platforms and different computer software applications. Companies that utilize these CAD systems are often in the situation wherein a decision was made in years past to purchase a particular CAD system, and due the expense of changing to a different CAD system, have maintained and continuously updated the original CAD system as updated versions are released from the CAD system manufacturer. It is difficult to change the particular CAD system that a company utilizes in creating their designs, because most often, different CAD systems are not interoperable. Without interoperability, one cannot take a model of a structure created on a first CAD system and simply transfer that modeled object to a second, different, CAD system, without experiencing compatibility issues.
Some CAD systems include the feature of being able to export data relating to a model of an object to another CAD system. However, this requires a user of the first CAD system to proactively select a particular model of an object, and perform a series of functions to modify the data relating to that object and export it to a remote CAD system, or a remote file location. A user of the second CAD system then must read the exported file and translate the data into a compatible format for the second CAD system. This makes it difficult for engineers designing different pieces of a larger structure to utilize different CAD systems on an individual basis. Collaboration between engineers in remote locations using different CAD systems becomes logistically complicated to orchestrate. In addition, it is often the case that an object that is exported to a different CAD system becomes stripped of the complete history of how it was constructed. Therefore, a user of the second CAD system cannot look back into history of steps that were utilized to form the particular object. This can hinder the development of the object and the overall design because an engineer often requires knowledge of such histories. It also can lead to design flaws, because a change made in a later version of an object in a different CAD program, likely will not be properly translated back to the originating CAD program. Therefore, the overall design cannot reliably be checked for validity of engineering concepts and rules of design.
The ability to share design data as an object is being created is an important feature. There is often a desire to have the ability to share CAD data and move such data from one application to another application without loss of histories or other data. In addition, this ability to share data is often undesirably hindered by the requirement that a user at the originating CAD system perform several tasks to prepare the data and export it to the second CAD system, which requires communication between users of different CAD systems to share this information.